perm filename TEST.PAL[HAL,HE] blob
sn#183681 filedate 1975-10-31 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .TITLE GENERAL PURPOSE TEST ROUTINE WITHOUT THE KERNEL
C00003 00003 program initialization
C00012 ENDMK
C⊗;
.TITLE GENERAL PURPOSE TEST ROUTINE WITHOUT THE KERNEL
.INSRT K1DEF.PAL[11,SYS]
.INSRT HALHED.PAL[HAL,HE]
.=INTRP
.INSRT HALIO.PAL[HAL,HE]
.INSRT GRAPH1.PAL[HAL,HE]
.INSRT SMALLB.PAL[HAL,HE]
;INSRT FBUG.PAL[1,BES]
;INSRT ARITH.PAL[HAL,HE]
;INSRT INTERP.PAL[HAL,HE]
;Data areas
.BLKW 100
STACK: .BLKW 1
ARG1: .BLKW 32. ;Long enough for a trans
ARG2: .BLKW 32. ;Long enough for a trans
RES: .BLKW 32. ;Long enough for a trans
; program initialization
COMMENT ⊗ This is an old timing test routine:
START: RESET
MOV #500,SP ;initialize stack
CLR PS ;initialize processor status
CLKIN: CLR CLKCNT ;clear clock registers- trap restart
CLR CLKSET
CLR CLKS
MOV #043400,R0 ;No interrupts, single precision
LDFPS R0 ;Load Floating Processor Status
MOV #16,R0 ;Field length
MOV #10,R1 ;Decimal digits
JSR PC,FORMAT ;
MOV #STACK,R3 ;Set up argument stack
TEST: CRLF ;
CRLF
MOV #ARG1,R0 ;
JSR PC,SCALIN ;Get first argument
MOV #ARG2,R0 ;
JSR PC,SCALIN ;Get second argument
MOV #1000.,R4 ;Do the test 1000 times
CLR CLKSET ;
MOV #21,CLKS ;Start counting up
TST1: MOV #STACK,R3 ;Set up argument stack
MOV #ARG1,-(R3) ;Restore interpreter stack
MOV #ARG2,-(R3) ; with both arguments.
JSR PC,SADD ;Call the routine under test
SOB R4,TST1 ;Do it over and over
CLR CLKS ;Stop the clock
MOV CLKCNT,R0 ;R0 ← Number of 10 micros elapsed
JSR PC,TYPDEC ;Print it.
MOV (R3)+,R0 ;
JSR PC,SCLOUT ;Print answer
BR TEST ;Over and over
⊗ End of old routine.
PATCH: .BLKW 100
.END START